MIDI stands for Musical Instrument Digital Interface. It is an internationally accepted standard for signal communication between digital music devices. MIDI signals consist of 8 bit bytes sent serially at a standard rate of 31.25 kilobaud. The most significant bit (MSB) is used to indicate whether the byte is a "Status Byte" (a byte that commands a MIDI Device to perform a certain operation, e.g., "Key On") or a "Data Byte" (a byte that supplies the numerical value of data, e.g., "Key No."). If the MSB is a one then the byte is a Status Byte, otherwise it is a Data Byte. This leaves 7 bits for data which can range from 0 to 127. Numbers larger than 127 require multiple Data Bytes. The 4 least significant bits of a Status Byte indicate the MIDI channel number. This allows 16 different MIDI instruments, each performing different musical parts, to be played by MIDI signals sent over a single cable, because each instrument can be set to respond to all channels or just one selected channel. The remaining three bits of Status Byte (between the MSB and channel number) are used to convey infommation such as Key On, Key Off, Control Change, etc. Control is used to distinguish things like modulation wheel, sustain pedal, volume, etc. from the ordinary keys of a keyboard. When one of these controls is changed the Status Byte 1011cccc is sent by the MIDI system to indicate Control Change, which is then followed by a Data Byte to indicate which control, and one or more Data Bytes to indicate the amount of change. In the above Status Byte and in following statements cccc represents the binary channel number. When a key is pressed, the Status Byte 1001cccc is sent to indicate Key On on channel cccc, which is then followed by a Data Byte to indicate which key, and a third Data Byte to indicate the speed with which it was pressed. When the key is released 1000cccc is sent to signify Key Off on channel cccc followed by a Data Byte to indicate which key. The first Data Byte following a key on, key off, or control change Status Byte is called a MIDI Address since it indicates which key or control was activated. Other Data Bytes are not considered addresses.
Transposing involves the shifting of music from one musical key signature to another. Music written in one key can be transposed up or down any selected number of half tones to sound in another key. The demand for transposers is evident from the fact that there have been over 50 U.S. patents related to transposition. See U.S. Pat. No. 4,176,573 for example. With the MIDI system transposition can be accomplished by recording the MIDI signals with a sequencer, and with the aid of a computer program usually stored in the sequencer's ROM, subtracting or adding the desired amount to each MIDI address which follows a Key On or Key Off Status Byte. Likewise a control increment operation could be performed by incrementing the MIDI address of a control, but most sequencers are not designed to do this. The modified data can then be output so that the desired transposition is accomplished, but with a time lag which in certain situations is intolerable. Signals from MIDI keyboards are often used to play drum machines but most sequencers always transpose all channels by the same amount, i.e., they are not channel selective with respect to transposition. This causes the drums to play incorrectly when music with drum information is transposed. Musicians are also plagued by the fact that the numbering of the controls on MIDI equipment made by different manufacturers is not always the same, and by inconsistencies in equipment made by the same company, e.g., Yamaha's QX1 sequencer addresses the volume control as number 7, but their DX7 Keyboard is incapable of sending volume information to the sequencer because it has no control 7. Musicians with several pieces of MIDI equipment find that routing boxes which can effectively disconnect and reconnect MIDI cables in different ways by just flipping switches are a necessity for efficient operation of the collective equipment. The circuitry to solve the above problems should therefore be housed within a routing box for convenience.